1. Technical Field
This disclosure generally relates to content management systems, and more specifically relates to a managing changes to content in a content management system.
2. Background Art
A content management system (CMS) allows many users to efficiently share electronic content such as text, audio files, video files, pictures, graphics, etc. Content management systems typically control access to content in a repository. A user may generate content, and when the content is checked into the repository, the content may be subsequently processed by the CMS according to predefined rules. A user may also check out content from the repository, or link to content in the repository while generating content. The rules in a CMS assure that content that comes into or out of the system or that is linked to meets desired criteria specified in the rules.
Known content management systems check their rules when content comes into or out of the system. If a rule is satisfied, the CMS may perform subsequent processing on the content. Known content management systems may include rules related to bursting, linking, and synchronization. Bursting rules govern how a document is bursted, or broken into individual chunks, when the document is imported or checked into the repository. By bursting a document into chunks, the individual chunks may be potentially reused later by a different author. Linking rules are used for importing and associating objects related to a CMS document based on particular elements or attributes from the document as specified by the rules. For example, an XML document that references external images can take advantage of linking rules so that relationships between the XML content and the external images are automatically created when the document is imported or checked into the repository. Another kind of linking rule governs what content in a repository a user may link to in a document that will be subsequently checked into the repository. Synchronization rules govern synchronization between content and metadata related to the content. For example, a synchronization rule may specify that whenever a specified CMS attribute is changed, a particular piece of XML in the content should be automatically updated with that attribute's value.
In known content management systems, links are static, which means once a link has been created, the semantics of that link do not change unless the user manually updates the link. For example, if a user links to an image in a document that corresponds to the name of the document, and then changes the name of the document, the image will no longer relate to the document. Known content management systems rely on the user to remember the association between the document name and the image, and depend on the user to make corresponding changes to the image link when the document name changes. However, relying on the user to take some action is not desirable, especially when the user is working with a very large document or when in highly regulated environments such as pharmaceutical environments. Without a way to easily specify and automatically check changes to content in a document to see if these changes need to cause corresponding changes to other content in the document, this potential for a mismatch between content in different parts of the same document will continue to plague known content management systems.